package map.hashmap;

import custom_class.Person;

import java.util.HashMap;
import java.util.Map;
import java.util.Set;

/**
 * 散列映射
 * @author wenyuan
 * @version 1.0
 * @date 2023/7/19
 * @since 8
 */
public class THashMap {

    private static HashMap<Object, Object> hashMap1 = new HashMap<>();

    public static void main(String[] args) {
        isPermittedAllType();       // 1. 是否允许所有类型
        iteration();        // 2. 遍历
    }

    /**
     * 是否允许所有类型，得知 HashMap 啥形式都支持
     */
    private static void isPermittedAllType(){
        hashMap1.put("你好", 123);
        hashMap1.put(new Person(175, 62, 21, "男"), "文远");
        hashMap1.put(1, "世界");
        hashMap1.put(null, "?");
        hashMap1.put("薇古丝", null);
    }

    /**
     * 遍历
     */
    private static void iteration(){
        // 1. 第一种方式，通过 entrySet
        Set<Map.Entry<Object, Object>> entries = hashMap1.entrySet();
        for(Map.Entry entry : entries){
            System.out.println(entry.getKey() + "--->" + entry.getValue());
        }
        System.out.println();
        // 2. 第二种方式
        Set<Object> objects = hashMap1.keySet();
        for (Object key : objects){
            System.out.println(key + "--->" + hashMap1.get(key));
        }
    }
}
